﻿Option Explicit On
Option Strict On



''' <summary>
''' Calcula el importe de los trata mientos recibidos (20/01/2012) - Francisco Juan Royo
''' </summary>
''' <remarks></remarks>
Public Class Factura

#Region "Atributos"

    Private _fecha As Date
    Private _listaTratamientos As List(Of Tratamiento)
#End Region


#Region "constructor y destructor"

    Public Sub New()
        _fecha = New Date
        _listaTratamientos = New List(Of Tratamiento)
    End Sub

    Public Sub New(ByVal FechaFactura As Date, ByVal Tratamiento As Tratamiento)
        _fecha = FechaFactura
        _listaTratamientos = New List(Of Tratamiento)
        _listaTratamientos.Add(Tratamiento)
    End Sub

    
    Public Sub New(ByVal copyFactura As Factura)
        With copyFactura
            _fecha = .Fecha
            _listaTratamientos = .Tratamiento
        End With
    End Sub

    Public Sub Dispose()
        _fecha = New Date
        _listaTratamientos = New List(Of Tratamiento)
    End Sub

    Protected Overrides Sub Finalize()
        _fecha = New Date
        _listaTratamientos = New List(Of Tratamiento)
    End Sub

#End Region


#Region "get y set"

    Public Property Fecha() As Date
        Get
            Return _fecha
        End Get
        Set(ByVal value As Date)
            _fecha = value
        End Set
    End Property

    Public Property Tratamiento() As List(Of Tratamiento)
        Get
            Return _listaTratamientos
        End Get
        Set(ByVal value As List(Of Tratamiento))
            _listaTratamientos = value
        End Set
    End Property

#End Region


#Region "Metodos publicos"

    Public Function TotalFatura() As Double
        Dim total As Double = 0

        Return total
    End Function


    Public Sub AgregarLineas(ByVal lineaTratamiento As Tratamiento)

        _listaTratamientos.Add(lineaTratamiento)

    End Sub



#End Region


#Region "Metodos pribados"

#End Region


End Class
